"""
@Author : 合肥一元数智教育科技有限公司
@Date :  2025/6/7 9:01
@Description :  窗口化视图
"""
# pip  install wxPython
import wx
from wx import Size, Point


def clear_info(event):
    print(event)
    show_info.Clear()


def send_info(event):
    # 获取input框中的值
    message = input_info.GetValue()
    # 信息添加到 show_info 面板
    show_info.AppendText(message+'\n')
    # 清空输入框
    input_info.Clear()



if __name__ == '__main__':
    # 创建窗口应用
    app = wx.App()
    # 窗口对象   参数1  当前窗口有没有父窗口
    frame = wx.Frame(None, title='测试窗口使用', size=Size(500, 600), pos=Point(500, 50))
    # 显示窗口
    frame.Show()
    # 创建画布  panel
    panel = wx.Panel(frame, size=Size(500, 600), pos=Point(0, 0))
    panel.Show(True)
    # 静态文本
    static_text = wx.StaticText(panel, label='hello python2512', pos=Point(130, 130))
    static_text.SetForegroundColour('red')
    font = wx.Font(20, wx.FONTFAMILY_DEFAULT, wx.FONTSTYLE_NORMAL, wx.FONTWEIGHT_BOLD)
    # 设置字体
    static_text.SetFont(font)
    # 阻止窗口的关闭    wx.TE_READONLY  只读    wx.TE_MULTILINE   多行展示
    show_info = wx.TextCtrl(panel, pos=Point(10, 50), size=Size(460, 300), style=wx.TE_READONLY | wx.TE_MULTILINE)
    input_info = wx.TextCtrl(panel, pos=Point(10, 380), size=Size(460, 100), style=wx.TE_MULTILINE)

    # 创建按钮
    clear_btn = wx.Button(panel, label='清空信息', pos=Point(10, 500), size=Size(100, 40))
    send_btn = wx.Button(panel, label='发送信息', pos=Point(360, 500), size=Size(100, 40))
    # 绑定事件  单击事件
    clear_btn.Bind(wx.EVT_BUTTON, clear_info)
    send_btn.Bind(wx.EVT_BUTTON, send_info)
    app.MainLoop()
